Traffic processed by carrier gateways is vastly increasing due to boosted terminal performance and access networks that work at ever higher speeds. Carriers therefore attempt to increase the number of traffic lines to the Internet and to reduce traffic at the gateway by using information processing technology.
The content cache is one type of information processing technology for reducing traffic. In this technology, when a terminal has requested contents from a server device (such as a Web server) over the Internet, a gateway server device (such as a Web proxy) temporarily stores the contents acquired from the Web server; and when another terminal requests contents, the Web proxy acting as the Web server, sends back a reply to the stored contents.
The gateway can in this way reduce traffic with the Web servers. The gateway can also speed up the content acquisition process.
The gateway can accommodate a numerous terminals and may include multiple server devices for storing contents in large quantities. The gateway distributes the contents to these server devices. Distributing the contents to these multiple server devices is an extremely effective method when the server devices utilized by the gateway have only limited performance.
A load balancer device is usually installed for example between the terminal and the gateway server device in order to distribute the processing among multiple server devices. The load balancer device transfers the request (such as a content acquisition request) from a terminal to each server device. The process for distributing the load may vary depending on to what extent the request from the terminal is analyzed.
Load balancer devices can process a large volume of traffic if for example distributing loads based on low layer information such as the IP address of the transmit source. However the information needed for calculating the transfer destination from the terminal is minimal so the load balancer device might prove unable to correctly distribute the load.
The load balancer device can also distribute loads appropriately according to each application's characteristics when distributing loads based on information such as layer 7 information including HTTP requests. However, the load of the load balancer device itself becomes high so that the load balancer device might prove incapable of managing numerous servers.
The following load balancing technology capable of resolving the aforementioned problems have been proposed.
A technology was proposed for distributing requests to each server device based on a table for determining the transmit source (See for example, JP-A-Hei11(1999)-004261. The technology disclosed in JP-A-Hei11(1999)-004261 allows terminals to distribute requests to each server by utilizing a table distributed to the terminal for determining which server to transmit the request to. Moreover, the reply to the request from the terminal includes table update information and so also reduces the load imposed by distributing the table.
Another technology was also proposed for distributing server requests from terminals to each gateway based on the hash values generated from each server request (See for example, JP-T-2002-523838). In the technology disclosed in JP-T-2002-523838, the hash value generated from the request is utilized as the gateway index so requests with the same content (such as content acquisition requests for the same host) from each terminal are sent to the same gateway.
Still another technology was proposed for calculating the hash value based on contents requested from the terminal, and selecting an appropriate server device as the transfer destination for the request based on the hash value calculated by the load balancer device (See for example, JP-A-2004-030690). In the technology disclosed in JP-A-2004-030690, the load balancer device is capable of distributing the processing to each server device since the load balancer device transfers requests by utilizing a hash value calculated based on the content in the request from the terminal.